Update navigation_pos_estimator.c
[inav.git] / docs / development / Building in Vagrant.md
blob1673a833127d4637ac7587d0d047480b02584551
1 # Building with Vagrant
3 Setting up build environment with Vagrant is remarkably simple, but you still need to have some basic knowlage of your OS.
5 ## Installing Vagrant
6 Vagrant needs some kind of virtualization software to run, i.e. VirtualBox.
7 You can get VirtualBox from here:
8 ```
9 https://www.virtualbox.org/wiki/Downloads
10 ```
12 Download and install Vagrant for you OS from here:
13 ```
14 https://www.vagrantup.com/downloads.html
15 ```
17 ## Cloning INAV repository
18 Using git (The preferred way!)
19 ```
20 git clone https://github.com/iNavFlight/inav.git
21 ```
23 Or download the .zip file from
24 ```
25 https://github.com/iNavFlight/inav
26 ```
27 and extract it to folder of your choosing.
29 ## Running the virtual machine
30 Open up a terminal or command line interface (In windows search for CMD.exe and run it as administrator!)
31 Navigate in to the directory of your cloned/unzipped INAV repository. (Where the "Vagrantfile" is located.) and start the virtual machine.
32 ```
33 vagrant up
34 ```
36 Starting the virtual machine might take some time depending on your computer speed.
37 When you start the virtual machine for the first time, it has to download the base virtual machine files and do some installation steps, 
38 so it takes longer than the following times you start it.
41 When the start up has finished succesfully and you are back to your command prompt. Login in to the virtual machine.
42 ```
43 vagrant ssh
44 ```
46 ## Building firmware
47 In the virtual machine, go to the inav directory
48 ```
49 cd inav
50 ```
52 If you downloadet the repository as a zip file, you may have to type:
53 ```
54 git init
55 ```
57 To stop the file system boundary warnings.
59 Build your desired target
60 i.e.
61 ```
62 make TARGET=AIRBOTF4
63 ```
65 ## Updating and rebuilding the firmware
67 ```
68 git reset --hard
69 git pull
70 make clean TARGET=AIRBOTF4
71 make TARGET=AIRBOTF4
72 ```
74 ## Additional virtual machine commands
76 Exit from the virtual machine interface with:
77 ```
78 exit
79 ```
81 Shutdown the virtual machine with:
82 ```
83 vagrant halt
84 ```
86 Remove the virtual machine files from your computer with:
87 ```
88 vagrant destroy
89 ```